/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package shortlink;

import com.alibaba.cloud.nacos.NacosConfigManager;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Bean;

import java.util.concurrent.Executor;
import java.util.concurrent.Executors;

/**
 * 网关服务应用启动器
 * 公众号：马丁玩编程，回复：加群，添加马哥微信（备注：link）获取项目资料
 */
@SpringBootApplication
@EnableDiscoveryClient
public class
GatewayServiceApplication {

//    private final NacosConfigManager nacosConfigManager;
//
//    public GatewayServiceApplication(@Qualifier("nacosConfigManager") NacosConfigManager nacosConfigManager) {
//        this.nacosConfigManager = nacosConfigManager;
//    }

    public static void main(String[] args) {
        SpringApplication.run(GatewayServiceApplication.class, args);
    }

//    /*配置监听*/
////    项目启动就监听配置文件变化
////    发生变化后拿到变化值
////    发送邮件
//    @Bean
//    ApplicationRunner applicationRunner(){
//        return  args -> {
//            System.out.println("==========");
//            ConfigService configService=nacosConfigManager.getConfigService();
//            configService.addListener("short-link-gateway-dev.yaml", "DEFAULT_GROUP",new Listener() {
//
//                @Override
//                public Executor getExecutor() {
//                    return   Executors.newFixedThreadPool(3);
//                }
//
//                @Override
//                public void receiveConfigInfo(String configInfo) {
//                    System.out.println("变化配置信息："+configInfo);
//
//                }
//            });
//            };
//        }
    }


